package com.waitingresult.common.base.domain.qo;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;

@Data
public class BaseQo extends Page implements Serializable {

    private static final long serialVersionUID = -7789974501384318958L;
    /**
     * ID
     */
    @Min(value = 0, message = "ID不能小于0")
    @Null(groups = Create.class, message = "id必须为空")
    @NotNull(groups = Update.class, message = "id不能为空")
    private Long id;
    /**
     * 大于创建日期
     */
    @ApiModelProperty("大于创建时间")
    private String createTimeBegin;
    /**
     * 小于创建日期
     */
    @ApiModelProperty("小于创建时间")
    private String createTimeEnd;
    /**
     * 大于更新时间
     */
    @ApiModelProperty("大于更新时间")
    private String updateTimeBegin;
    /**
     * 小于更新时间
     */
    @ApiModelProperty("小于更新时间")
    private String updateTimeEnd;

    /**
     * 新增时校验分组
     */
    public interface Create {
    }

    /**
     * 查询时校验分组
     */
    public interface Query {
    }

    /**
     * 更新时校验分组
     */
    public interface Update {
    }

    /**
     * 删除时校验分组
     */
    public interface Delete {
    }
}
